/**
 * 外观模式
 * 简单来说，就把你一堆相关业务的逻辑操作全部封装起来，只暴露一个类的一些方法，来操作这些逻辑
 *
 * 来保证只有一个统一的高层接口；外部人不知道里面的实现细节
 *
 * 定义：要求一个子系统的外部和内部的通信，必须通过一个统一的对象来进行。此模式提供一个高层的
 * 接口，使得子系统更易于使用。
 *
 * 架构：
 *      1）facade，外观类，知道哪些子系统负责处理哪些请求，把客户端的请求给适当的子系统对象。也就是高层接口
 *      2）subsystem , 子系统 ，处理具体的单一的业务。接受外观类的指派，去做自己的任务。
 */
package structure.facade;